<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Markmap</title>
<style>
* {
  margin: 0;
  padding: 0;
}
#mindmap {
  display: block;
  width: 100vw;
  height: 100vh;
  font-weight:400 16px/20px sans-serif;
}
</style>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/markmap-toolbar@0.14.3/dist/style.min.css">
</head>
<body>
<svg id="mindmap"></svg>
<script src="https://cdn.jsdelivr.net/npm/d3@6.7.0"></script><script src="https://cdn.jsdelivr.net/npm/markmap-view@0.14.3"></script><script src="https://cdn.jsdelivr.net/npm/markmap-toolbar@0.14.3/dist/index.umd.min.js"></script><script>(r => {
          setTimeout(r);
        })(() => {
  const {
    markmap,
    mm
  } = window;
  const toolbar = new markmap.Toolbar();
  toolbar.attach(mm);
  const el = toolbar.render();
  el.setAttribute('style', 'position:absolute;bottom:20px;right:20px');
  document.body.append(el);
})</script><script>((getMarkmap, getOptions, root, jsonOptions) => {
        const markmap = getMarkmap();
        window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root);
      })(() => window.markmap,null,{"type":"root","depth":0,"content":"","children":[{"type":"heading","depth":1,"payload":{"lines":[0,1]},"content":"1.设计模式引导","children":[{"type":"heading","depth":2,"payload":{"lines":[1,2]},"content":"1.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[2,3]},"content":"1.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[3,4]},"content":"1.3.设计模式起源"},{"type":"heading","depth":2,"payload":{"lines":[4,5]},"content":"1.4.设计模式是什么"},{"type":"heading","depth":2,"payload":{"lines":[5,6]},"content":"1.5.设计模式作用"},{"type":"heading","depth":2,"payload":{"lines":[6,7]},"content":"1.6.设计模式目的"},{"type":"heading","depth":2,"payload":{"lines":[7,8]},"content":"1.7.设计模式分类"}]},{"type":"heading","depth":1,"payload":{"lines":[8,9]},"content":"2.类与类之间的六种关系","children":[{"type":"heading","depth":2,"payload":{"lines":[9,10]},"content":"2.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[10,11]},"content":"2.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[11,12]},"content":"2.3.依赖关系","children":[{"type":"heading","depth":3,"payload":{"lines":[12,13]},"content":"2.3.1.依赖关系概述"},{"type":"heading","depth":3,"payload":{"lines":[13,14]},"content":"2.3.2.UML箭头及指向"},{"type":"heading","depth":3,"payload":{"lines":[14,15]},"content":"2.3.3.依赖关系类图"},{"type":"heading","depth":3,"payload":{"lines":[15,16]},"content":"2.3.4.依赖关系代码"}]},{"type":"heading","depth":2,"payload":{"lines":[16,17]},"content":"2.4.关联关系","children":[{"type":"heading","depth":3,"payload":{"lines":[17,18]},"content":"2.4.1.关联关系概述"},{"type":"heading","depth":3,"payload":{"lines":[18,19]},"content":"2.4.2.UML箭头及指向"},{"type":"heading","depth":3,"payload":{"lines":[19,20]},"content":"2.4.3.关联关系类图"},{"type":"heading","depth":3,"payload":{"lines":[20,21]},"content":"2.4.4.关联关系代码"}]},{"type":"heading","depth":2,"payload":{"lines":[21,22]},"content":"2.5.聚合关系","children":[{"type":"heading","depth":3,"payload":{"lines":[22,23]},"content":"2.5.1.聚合关系概述"},{"type":"heading","depth":3,"payload":{"lines":[23,24]},"content":"2.5.2.UML箭头及指向"},{"type":"heading","depth":3,"payload":{"lines":[24,25]},"content":"2.5.3.聚合关系类图"},{"type":"heading","depth":3,"payload":{"lines":[25,26]},"content":"2.5.4.聚合关系代码"}]},{"type":"heading","depth":2,"payload":{"lines":[26,27]},"content":"2.6.组合关系","children":[{"type":"heading","depth":3,"payload":{"lines":[27,28]},"content":"2.6.1.组合关系概述"},{"type":"heading","depth":3,"payload":{"lines":[28,29]},"content":"2.6.2.UML箭头及指向"},{"type":"heading","depth":3,"payload":{"lines":[29,30]},"content":"2.6.3.组合关系类图"},{"type":"heading","depth":3,"payload":{"lines":[30,31]},"content":"2.6.4.组合关系代码"}]},{"type":"heading","depth":2,"payload":{"lines":[31,32]},"content":"2.7.泛化关系","children":[{"type":"heading","depth":3,"payload":{"lines":[32,33]},"content":"2.7.1.泛化关系概述"},{"type":"heading","depth":3,"payload":{"lines":[33,34]},"content":"2.7.2.UML箭头及指向"},{"type":"heading","depth":3,"payload":{"lines":[34,35]},"content":"2.7.3.泛化关系类图"},{"type":"heading","depth":3,"payload":{"lines":[35,36]},"content":"2.7.4.泛化关系代码"}]},{"type":"heading","depth":2,"payload":{"lines":[36,37]},"content":"2.8.实现关系","children":[{"type":"heading","depth":3,"payload":{"lines":[37,38]},"content":"2.8.1.实现关系概述"},{"type":"heading","depth":3,"payload":{"lines":[38,39]},"content":"2.8.2.UML箭头及指向"},{"type":"heading","depth":3,"payload":{"lines":[39,40]},"content":"2.8.3.实现关系类图"},{"type":"heading","depth":3,"payload":{"lines":[40,41]},"content":"2.8.4.实现关系代码"}]},{"type":"heading","depth":2,"payload":{"lines":[41,42]},"content":"2.9.六种关系耦合度强弱"}]},{"type":"heading","depth":1,"payload":{"lines":[42,43]},"content":"3.设计模式七大原则","children":[{"type":"heading","depth":2,"payload":{"lines":[43,44]},"content":"3.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[44,45]},"content":"3.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[45,46]},"content":"3.3.单一职责原则SRP","children":[{"type":"heading","depth":3,"payload":{"lines":[46,47]},"content":"3.3.1.单一职责原则介绍"},{"type":"heading","depth":3,"payload":{"lines":[47,48]},"content":"3.3.2.单一职责原则代码","children":[{"type":"heading","depth":4,"payload":{"lines":[48,49]},"content":"3.3.2.1.不使用单一职责原则代码"},{"type":"heading","depth":4,"payload":{"lines":[49,50]},"content":"3.3.2.2.使用单一职责原则代码","children":[{"type":"heading","depth":5,"payload":{"lines":[50,51]},"content":"3.3.2.2.1.类级别单一职责原则代码"},{"type":"heading","depth":5,"payload":{"lines":[51,52]},"content":"3.3.2.2.2.方法别单一职责原则代码"}]}]}]},{"type":"heading","depth":2,"payload":{"lines":[52,53]},"content":"3.4.接口隔离原则ISP","children":[{"type":"heading","depth":3,"payload":{"lines":[53,54]},"content":"3.4.1.接口隔离原则介绍"},{"type":"heading","depth":3,"payload":{"lines":[54,55]},"content":"3.4.2.接口隔离原则代码","children":[{"type":"heading","depth":4,"payload":{"lines":[55,56]},"content":"3.4.2.1.不使用接口隔离原则代码"},{"type":"heading","depth":4,"payload":{"lines":[56,57]},"content":"3.4.2.2.使用接口隔离原则代码"}]}]},{"type":"heading","depth":2,"payload":{"lines":[57,58]},"content":"3.5.依赖倒转原则DIP","children":[{"type":"heading","depth":3,"payload":{"lines":[58,59]},"content":"3.5.1.依赖倒转原则介绍"},{"type":"heading","depth":3,"payload":{"lines":[59,60]},"content":"3.5.2.依赖倒转原则代码","children":[{"type":"heading","depth":4,"payload":{"lines":[60,61]},"content":"3.5.2.1.不使用依赖倒转原则代码"},{"type":"heading","depth":4,"payload":{"lines":[61,62]},"content":"3.5.2.2.使用依赖倒转原则代码","children":[{"type":"heading","depth":5,"payload":{"lines":[62,63]},"content":"3.5.2.2.1.依赖倒转原则简单案例"},{"type":"heading","depth":5,"payload":{"lines":[63,64]},"content":"3.5.2.2.2.通过接口传递依赖"},{"type":"heading","depth":5,"payload":{"lines":[64,65]},"content":"3.5.2.2.3.通过构造方法传递依赖"},{"type":"heading","depth":5,"payload":{"lines":[65,66]},"content":"3.5.2.2.4.通过setter()方法传递依赖"}]}]}]},{"type":"heading","depth":2,"payload":{"lines":[66,67]},"content":"3.6.里氏替换原则LSP","children":[{"type":"heading","depth":3,"payload":{"lines":[67,68]},"content":"3.6.1.里氏替换原则介绍"},{"type":"heading","depth":3,"payload":{"lines":[68,69]},"content":"3.6.2.里氏替换原则代码","children":[{"type":"heading","depth":4,"payload":{"lines":[69,70]},"content":"3.6.2.1.不使用里氏替换原则代码"},{"type":"heading","depth":4,"payload":{"lines":[70,71]},"content":"3.6.2.2.使用里氏替换原则代码"}]}]},{"type":"heading","depth":2,"payload":{"lines":[71,72]},"content":"3.7.开闭原则OCP","children":[{"type":"heading","depth":3,"payload":{"lines":[72,73]},"content":"3.7.1.开闭原则介绍"},{"type":"heading","depth":3,"payload":{"lines":[73,74]},"content":"3.7.2.开闭原则代码","children":[{"type":"heading","depth":4,"payload":{"lines":[74,75]},"content":"3.7.2.1.不使用开闭原则代码"},{"type":"heading","depth":4,"payload":{"lines":[75,76]},"content":"3.7.2.2.使用开闭原则代码"}]}]},{"type":"heading","depth":2,"payload":{"lines":[76,77]},"content":"3.8.迪米特原则LoD","children":[{"type":"heading","depth":3,"payload":{"lines":[77,78]},"content":"3.8.1.迪米特原则介绍"},{"type":"heading","depth":3,"payload":{"lines":[78,79]},"content":"3.8.2.迪米特原则代码","children":[{"type":"heading","depth":4,"payload":{"lines":[79,80]},"content":"3.8.2.1.不使用迪米特原则代码"},{"type":"heading","depth":4,"payload":{"lines":[80,81]},"content":"3.8.2.2.使用迪米特原则代码"}]}]},{"type":"heading","depth":2,"payload":{"lines":[81,82]},"content":"3.9.合成复用原则CARP","children":[{"type":"heading","depth":3,"payload":{"lines":[82,83]},"content":"3.9.1.合成复用原则介绍"},{"type":"heading","depth":3,"payload":{"lines":[83,84]},"content":"3.9.2.合成复用原则代码","children":[{"type":"heading","depth":4,"payload":{"lines":[84,85]},"content":"3.9.2.1.不使用合成复用原则代码"},{"type":"heading","depth":4,"payload":{"lines":[85,86]},"content":"3.9.2.2.使用合成复用原则代码"}]}]}]},{"type":"heading","depth":1,"payload":{"lines":[86,87]},"content":"4.创建型模式-单例模式","children":[{"type":"heading","depth":2,"payload":{"lines":[87,88]},"content":"4.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[88,89]},"content":"4.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[89,90]},"content":"4.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[90,91]},"content":"4.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[91,92]},"content":"4.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[92,93]},"content":"4.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[93,94]},"content":"4.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[94,95]},"content":"4.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[95,96]},"content":"4.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[96,97]},"content":"4.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[97,98]},"content":"4.7.2.代码"}]},{"type":"heading","depth":2,"payload":{"lines":[98,99]},"content":"4.8.示例","children":[{"type":"heading","depth":3,"payload":{"lines":[99,100]},"content":"4.8.1.饿汉式单例"},{"type":"heading","depth":3,"payload":{"lines":[100,101]},"content":"4.8.1.1.类图"},{"type":"heading","depth":3,"payload":{"lines":[101,102]},"content":"4.8.1.2.代码"},{"type":"heading","depth":3,"payload":{"lines":[102,103]},"content":"4.8.2.懒汉式单例"},{"type":"heading","depth":3,"payload":{"lines":[103,104]},"content":"4.8.2.1.饿汉式单例类图"},{"type":"heading","depth":3,"payload":{"lines":[104,105]},"content":"4.8.2.2.代码"},{"type":"heading","depth":3,"payload":{"lines":[105,106]},"content":"4.8.3.线程安全的懒汉式单例"},{"type":"heading","depth":3,"payload":{"lines":[106,107]},"content":"4.8.3.1.类图"},{"type":"heading","depth":3,"payload":{"lines":[107,108]},"content":"4.8.3.2.代码"},{"type":"heading","depth":3,"payload":{"lines":[108,109]},"content":"4.8.4.双重检索懒汉式懒汉式单例"},{"type":"heading","depth":3,"payload":{"lines":[109,110]},"content":"4.8.4.1.类图"},{"type":"heading","depth":3,"payload":{"lines":[110,111]},"content":"4.8.4.2.代码"},{"type":"heading","depth":3,"payload":{"lines":[111,112]},"content":"4.8.5.静态内部类懒汉式单例"},{"type":"heading","depth":3,"payload":{"lines":[112,113]},"content":"4.8.5.1.类图"},{"type":"heading","depth":3,"payload":{"lines":[113,114]},"content":"4.8.5.2.代码"},{"type":"heading","depth":3,"payload":{"lines":[114,115]},"content":"4.8.6.枚举单例"},{"type":"heading","depth":3,"payload":{"lines":[115,116]},"content":"4.8.6.1.类图"},{"type":"heading","depth":3,"payload":{"lines":[116,117]},"content":"4.8.6.2.代码"}]},{"type":"heading","depth":2,"payload":{"lines":[117,118]},"content":"4.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[118,119]},"content":"5.创建型模式-简单工厂模式(Gof之外)","children":[{"type":"heading","depth":2,"payload":{"lines":[119,120]},"content":"5.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[120,121]},"content":"5.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[121,122]},"content":"5.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[122,123]},"content":"5.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[123,124]},"content":"5.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[124,125]},"content":"5.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[125,126]},"content":"5.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[126,127]},"content":"5.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[127,128]},"content":"5.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[128,129]},"content":"5.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[129,130]},"content":"5.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[130,131]},"content":"5.8.示例","children":[{"type":"heading","depth":3,"payload":{"lines":[131,132]},"content":"5.8.1.不使用简单工厂模式","children":[{"type":"heading","depth":4,"payload":{"lines":[132,133]},"content":"5.8.1.1.类图"},{"type":"heading","depth":4,"payload":{"lines":[133,134]},"content":"5.8.1.2.代码"}]},{"type":"heading","depth":3,"payload":{"lines":[134,135]},"content":"5.8.2.使用简单工厂模式","children":[{"type":"heading","depth":4,"payload":{"lines":[135,136]},"content":"5.8.2.1.类图"},{"type":"heading","depth":4,"payload":{"lines":[136,137]},"content":"5.8.2.2.代码"}]}]},{"type":"heading","depth":2,"payload":{"lines":[137,138]},"content":"5.9.在开源框架中的应用"},{"type":"heading","depth":2,"payload":{"lines":[138,139]},"content":"5.9.1.在JDK中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[139,140]},"content":"6.创建型模式-工厂模式","children":[{"type":"heading","depth":2,"payload":{"lines":[140,141]},"content":"6.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[141,142]},"content":"6.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[142,143]},"content":"6.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[143,144]},"content":"6.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[144,145]},"content":"6.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[145,146]},"content":"6.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[146,147]},"content":"6.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[147,148]},"content":"6.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[148,149]},"content":"6.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[149,150]},"content":"6.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[150,151]},"content":"6.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[151,152]},"content":"6.8.示例","children":[{"type":"heading","depth":3,"payload":{"lines":[152,153]},"content":"6.8.1.不使用工厂模式(实际上使用了简单工厂模式)","children":[{"type":"heading","depth":4,"payload":{"lines":[153,154]},"content":"6.8.1.1.类图"},{"type":"heading","depth":4,"payload":{"lines":[154,155]},"content":"6.8.1.1.代码"}]},{"type":"heading","depth":3,"payload":{"lines":[155,156]},"content":"6.8.2.使用工厂模式","children":[{"type":"heading","depth":4,"payload":{"lines":[156,157]},"content":"6.8.2.1.类图"},{"type":"heading","depth":4,"payload":{"lines":[157,158]},"content":"6.8.2.2.代码"}]}]},{"type":"heading","depth":2,"payload":{"lines":[158,159]},"content":"6.9.在开源框架中的应用","children":[{"type":"heading","depth":3,"payload":{"lines":[159,160]},"content":"6.9.1.在JDK中的应用"}]}]},{"type":"heading","depth":1,"payload":{"lines":[160,161]},"content":"7.创建型模式-抽象工厂模式","children":[{"type":"heading","depth":2,"payload":{"lines":[161,162]},"content":"7.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[162,163]},"content":"7.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[163,164]},"content":"7.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[164,165]},"content":"7.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[165,166]},"content":"7.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[166,167]},"content":"7.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[167,168]},"content":"7.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[168,169]},"content":"7.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[169,170]},"content":"7.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[170,171]},"content":"7.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[171,172]},"content":"7.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[172,173]},"content":"7.8.示例","children":[{"type":"heading","depth":3,"payload":{"lines":[173,174]},"content":"7.8.1.不使用抽象工厂模式"},{"type":"heading","depth":3,"payload":{"lines":[174,175]},"content":"7.8.2.使用抽象工厂模式"}]},{"type":"heading","depth":2,"payload":{"lines":[175,176]},"content":"7.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[176,177]},"content":"8.创建型模式-原型模式","children":[{"type":"heading","depth":2,"payload":{"lines":[177,178]},"content":"8.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[178,179]},"content":"8.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[179,180]},"content":"8.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[180,181]},"content":"8.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[181,182]},"content":"8.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[182,183]},"content":"8.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[183,184]},"content":"8.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[184,185]},"content":"8.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[185,186]},"content":"8.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[186,187]},"content":"8.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[187,188]},"content":"8.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[188,189]},"content":"8.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[189,190]},"content":"8.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[190,191]},"content":"9.创建型模式-建造者模式","children":[{"type":"heading","depth":2,"payload":{"lines":[191,192]},"content":"9.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[192,193]},"content":"9.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[193,194]},"content":"9.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[194,195]},"content":"9.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[195,196]},"content":"9.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[196,197]},"content":"9.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[197,198]},"content":"9.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[198,199]},"content":"9.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[199,200]},"content":"9.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[200,201]},"content":"9.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[201,202]},"content":"9.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[202,203]},"content":"9.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[203,204]},"content":"9.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[204,205]},"content":"10.结构型模式-适配器模式","children":[{"type":"heading","depth":2,"payload":{"lines":[205,206]},"content":"10.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[206,207]},"content":"10.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[207,208]},"content":"10.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[208,209]},"content":"10.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[209,210]},"content":"10.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[210,211]},"content":"10.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[211,212]},"content":"10.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[212,213]},"content":"10.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[213,214]},"content":"10.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[214,215]},"content":"10.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[215,216]},"content":"10.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[216,217]},"content":"10.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[217,218]},"content":"10.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[218,219]},"content":"11.结构型模式-桥接模式","children":[{"type":"heading","depth":2,"payload":{"lines":[219,220]},"content":"11.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[220,221]},"content":"11.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[221,222]},"content":"11.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[222,223]},"content":"11.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[223,224]},"content":"11.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[224,225]},"content":"11.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[225,226]},"content":"11.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[226,227]},"content":"11.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[227,228]},"content":"11.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[228,229]},"content":"11.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[229,230]},"content":"11.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[230,231]},"content":"11.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[231,232]},"content":"11.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[232,233]},"content":"12.结构型模式-装饰者模式","children":[{"type":"heading","depth":2,"payload":{"lines":[233,234]},"content":"12.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[234,235]},"content":"12.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[235,236]},"content":"12.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[236,237]},"content":"12.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[237,238]},"content":"12.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[238,239]},"content":"12.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[239,240]},"content":"12.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[240,241]},"content":"12.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[241,242]},"content":"12.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[242,243]},"content":"12.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[243,244]},"content":"12.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[244,245]},"content":"12.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[245,246]},"content":"12.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[246,247]},"content":"13.结构型模式-组合模式","children":[{"type":"heading","depth":2,"payload":{"lines":[247,248]},"content":"13.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[248,249]},"content":"13.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[249,250]},"content":"13.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[250,251]},"content":"13.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[251,252]},"content":"13.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[252,253]},"content":"13.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[253,254]},"content":"13.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[254,255]},"content":"13.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[255,256]},"content":"13.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[256,257]},"content":"13.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[257,258]},"content":"13.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[258,259]},"content":"13.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[259,260]},"content":"13.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[260,261]},"content":"14.结构型模式-外观模式","children":[{"type":"heading","depth":2,"payload":{"lines":[261,262]},"content":"14.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[262,263]},"content":"14.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[263,264]},"content":"14.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[264,265]},"content":"14.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[265,266]},"content":"14.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[266,267]},"content":"14.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[267,268]},"content":"14.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[268,269]},"content":"14.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[269,270]},"content":"14.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[270,271]},"content":"14.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[271,272]},"content":"14.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[272,273]},"content":"14.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[273,274]},"content":"14.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[274,275]},"content":"15.结构型模式-享元模式","children":[{"type":"heading","depth":2,"payload":{"lines":[275,276]},"content":"15.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[276,277]},"content":"15.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[277,278]},"content":"15.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[278,279]},"content":"15.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[279,280]},"content":"15.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[280,281]},"content":"15.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[281,282]},"content":"15.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[282,283]},"content":"15.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[283,284]},"content":"15.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[284,285]},"content":"15.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[285,286]},"content":"15.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[286,287]},"content":"15.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[287,288]},"content":"15.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[288,289]},"content":"16.结构型模式-代理模式","children":[{"type":"heading","depth":2,"payload":{"lines":[289,290]},"content":"16.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[290,291]},"content":"16.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[291,292]},"content":"16.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[292,293]},"content":"16.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[293,294]},"content":"16.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[294,295]},"content":"16.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[295,296]},"content":"16.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[296,297]},"content":"16.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[297,298]},"content":"16.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[298,299]},"content":"16.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[299,300]},"content":"16.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[300,301]},"content":"16.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[301,302]},"content":"16.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[302,303]},"content":"17.行为型模式-模版方法模式","children":[{"type":"heading","depth":2,"payload":{"lines":[303,304]},"content":"17.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[304,305]},"content":"17.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[305,306]},"content":"17.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[306,307]},"content":"17.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[307,308]},"content":"17.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[308,309]},"content":"17.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[309,310]},"content":"17.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[310,311]},"content":"17.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[311,312]},"content":"17.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[312,313]},"content":"17.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[313,314]},"content":"17.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[314,315]},"content":"17.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[315,316]},"content":"17.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[316,317]},"content":"18.行为型模式-命令模式","children":[{"type":"heading","depth":2,"payload":{"lines":[317,318]},"content":"18.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[318,319]},"content":"18.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[319,320]},"content":"18.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[320,321]},"content":"18.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[321,322]},"content":"18.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[322,323]},"content":"18.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[323,324]},"content":"18.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[324,325]},"content":"18.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[325,326]},"content":"18.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[326,327]},"content":"18.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[327,328]},"content":"18.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[328,329]},"content":"18.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[329,330]},"content":"18.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[330,331]},"content":"19.行为型模式-迭代器模式","children":[{"type":"heading","depth":2,"payload":{"lines":[331,332]},"content":"19.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[332,333]},"content":"19.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[333,334]},"content":"19.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[334,335]},"content":"19.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[335,336]},"content":"19.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[336,337]},"content":"19.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[337,338]},"content":"19.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[338,339]},"content":"19.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[339,340]},"content":"19.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[340,341]},"content":"19.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[341,342]},"content":"19.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[342,343]},"content":"19.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[343,344]},"content":"19.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[344,345]},"content":"20.行为型模式-观察者模式","children":[{"type":"heading","depth":2,"payload":{"lines":[345,346]},"content":"20.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[346,347]},"content":"20.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[347,348]},"content":"20.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[348,349]},"content":"20.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[349,350]},"content":"20.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[350,351]},"content":"20.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[351,352]},"content":"20.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[352,353]},"content":"20.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[353,354]},"content":"20.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[354,355]},"content":"20.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[355,356]},"content":"20.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[356,357]},"content":"20.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[357,358]},"content":"20.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[358,359]},"content":"21.行为型模式-中介者模式","children":[{"type":"heading","depth":2,"payload":{"lines":[359,360]},"content":"21.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[360,361]},"content":"21.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[361,362]},"content":"21.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[362,363]},"content":"21.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[363,364]},"content":"21.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[364,365]},"content":"21.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[365,366]},"content":"21.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[366,367]},"content":"21.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[367,368]},"content":"21.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[368,369]},"content":"21.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[369,370]},"content":"21.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[370,371]},"content":"21.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[371,372]},"content":"21.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[372,373]},"content":"22.行为型模式-备忘录模式","children":[{"type":"heading","depth":2,"payload":{"lines":[373,374]},"content":"22.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[374,375]},"content":"22.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[375,376]},"content":"22.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[376,377]},"content":"22.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[377,378]},"content":"22.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[378,379]},"content":"22.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[379,380]},"content":"22.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[380,381]},"content":"22.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[381,382]},"content":"22.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[382,383]},"content":"22.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[383,384]},"content":"22.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[384,385]},"content":"22.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[385,386]},"content":"22.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[386,387]},"content":"23.行为型模式-解释器模式","children":[{"type":"heading","depth":2,"payload":{"lines":[387,388]},"content":"23.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[388,389]},"content":"23.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[389,390]},"content":"23.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[390,391]},"content":"23.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[391,392]},"content":"23.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[392,393]},"content":"23.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[393,394]},"content":"23.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[394,395]},"content":"23.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[395,396]},"content":"23.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[396,397]},"content":"23.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[397,398]},"content":"23.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[398,399]},"content":"23.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[399,400]},"content":"23.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[400,401]},"content":"24.行为型模式-状态模式","children":[{"type":"heading","depth":2,"payload":{"lines":[401,402]},"content":"24.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[402,403]},"content":"24.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[403,404]},"content":"24.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[404,405]},"content":"24.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[405,406]},"content":"24.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[406,407]},"content":"24.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[407,408]},"content":"24.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[408,409]},"content":"24.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[409,410]},"content":"24.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[410,411]},"content":"24.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[411,412]},"content":"24.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[412,413]},"content":"24.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[413,414]},"content":"24.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[414,415]},"content":"25.行为型模式-策略模式","children":[{"type":"heading","depth":2,"payload":{"lines":[415,416]},"content":"25.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[416,417]},"content":"25.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[417,418]},"content":"25.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[418,419]},"content":"25.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[419,420]},"content":"25.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[420,421]},"content":"25.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[421,422]},"content":"25.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[422,423]},"content":"25.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[423,424]},"content":"25.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[424,425]},"content":"25.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[425,426]},"content":"25.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[426,427]},"content":"25.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[427,428]},"content":"25.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[428,429]},"content":"26.行为型模式-职责链模式","children":[{"type":"heading","depth":2,"payload":{"lines":[429,430]},"content":"26.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[430,431]},"content":"26.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[431,432]},"content":"26.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[432,433]},"content":"26.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[433,434]},"content":"26.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[434,435]},"content":"26.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[435,436]},"content":"26.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[436,437]},"content":"26.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[437,438]},"content":"26.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[438,439]},"content":"26.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[439,440]},"content":"26.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[440,441]},"content":"26.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[441,442]},"content":"26.9.在开源框架中的应用"}]},{"type":"heading","depth":1,"payload":{"lines":[442,443]},"content":"27.行为型模式-访问者模式","children":[{"type":"heading","depth":2,"payload":{"lines":[443,444]},"content":"27.1.章节内容概述"},{"type":"heading","depth":2,"payload":{"lines":[444,445]},"content":"27.2.章节内容大纲"},{"type":"heading","depth":2,"payload":{"lines":[445,446]},"content":"27.3.简介"},{"type":"heading","depth":2,"payload":{"lines":[446,447]},"content":"27.4.应用场景"},{"type":"heading","depth":2,"payload":{"lines":[447,448]},"content":"27.5.优缺点","children":[{"type":"heading","depth":3,"payload":{"lines":[448,449]},"content":"27.5.1.优点"},{"type":"heading","depth":3,"payload":{"lines":[449,450]},"content":"27.5.2.缺点"}]},{"type":"heading","depth":2,"payload":{"lines":[450,451]},"content":"27.6.角色及其职责"},{"type":"heading","depth":2,"payload":{"lines":[451,452]},"content":"27.7.模型","children":[{"type":"heading","depth":3,"payload":{"lines":[452,453]},"content":"27.7.1.模型类图"},{"type":"heading","depth":3,"payload":{"lines":[453,454]},"content":"27.7.2.模型代码"}]},{"type":"heading","depth":2,"payload":{"lines":[454,455]},"content":"27.8.示例"},{"type":"heading","depth":2,"payload":{"lines":[455,456]},"content":"27.9.在开源框架中的应用"}]}],"payload":{}},null)</script>
</body>
</html>
